.TH C++SIM 3A "25 February 1995" "C++SIM" "C++SIM Reference Manual"
.SH NAME
TriggerQueue \- used for handling application specific events
.SH SYNOPSIS
.B "#ifndef TRIGGERQUEUE_H_"
.br
.B "#   include <Event/TriggerQueue.h>"
.br
.B "#endif"
.sp
.BI "class TriggerQueue
.br
.BI "{"
.br
.BI "public:"
.br
.BI "	TriggerQueue ();"
.br
.BI "	virtual ~TriggerQueue ();"
.sp
.BI "	Boolean triggerAll ();"
.br
.BI "	Boolean triggerFirst (Boolean triggered = TRUE);
.br
.BI "};"
.SH DESCRIPTION
An instance of this class maintain a queue of
.B
Entity
objects waiting for application specific events. These objects are
placed on a queue via the
.B
WaitForTrigger
method of the
.B
Entity
class.

Applications can then use these queues to simulate specific events,
for example processor interrupt levels. When an event occurs, members
of a queue can be informed (triggered) using one of the two methods
provided.

The
.B
triggerAll
method triggers all of the members of the queue. These objects will
know that they were triggered and not interrupted.

.B
triggerFirst
triggers only the member at the head of the queue. If the
parameter is
.B
FALSE
then the object will not know it was triggered, and will
assume it was interrupted from its
.I
waiting
state.
.SH NOTES
If a queue is not empty when it goes out of scope then all
remaining members will be triggered and placed back on to the
scheduler queue.
.SH SEE ALSO
Entity(3A)
